The design system's component library, managed by design and development teams, typically has numerous basic components, referred to as "atomic" components. These can be used to assemble more complex components, often called "molecules" or "organisms" which can be combined to build full pages. This approach is known as
"Atomic Design".
The primary role of an individual component is to define the layout or appearance of its content. It encompasses numerous design decisions regarding colors, typography, and spacing. In certain cases, it also determines how the component scales across various screen sizes, as well as its variants (like "primary", "info", "outline") and states (such as "active", "focused", "disabled").
These components can vary in complexity:
- simple “atomic” components: buttons, tags, badges, spacings, text blocks, images, generic layout containers such as tab bars or accordions or responsive grid layouts
- mid-complex “molecules” which are assembled from atomic components: card, hero, banner, image gallery, forms
- complex “organisms” components that combine of various molecules”: site header, site footers, main navigation, site sections with specific layouts
- complete page structures or templates that are made out of “organisms”: landing page, product detail page, listing page
UI components in design systems primarily focus on "how content is displayed," not "what content is displayed." For instance, a Card
component can be used to display a variety of content types such as products, blog posts or events. How such content can be applied to components is where Uniform shines.